#ifndef GULLENGINE_LIGHTNODE_H
#define GULLENGINE_LIGHTNODE_H

#include "Scene.h"
#include "LightProperties.h"

namespace gull {
	namespace core {
		
		class LightNode : public SceneNode {
			
		public:
			LightNode(const char* name);
			LightNode(const LightNode& light);
			LightNode& operator =(const LightNode& light);
			~LightNode();
			
			inline const LightProperties* getProperties() const;
			inline LightProperties* getProperties();
			inline void setProperties(const LightProperties& lp);
			
			virtual gullNotification render(Scene* scene);
			
		protected:
			LightProperties m_properties;
		};
		
		
		const LightProperties* LightNode::getProperties() const{
			return &m_properties;
		}
		
		void LightNode::setProperties(const LightProperties& lp){
			 m_properties = lp;
		}
		
		LightProperties* LightNode::getProperties(){
			return &m_properties;
		}
	}
}

#endif